home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh2x / sh23b.d64 / boerse plus (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1995-03-30  |  25.8 KB  |  1,123 lines

  1. 250 POKE55,167 : POKE 56,145 : REM SPEICHER GRENZEN BEI $91A7
  2. 500 IF PEEK (37312)<>76 THEN LOAD "BG.OBJ",8,1
  3. 750 IF PEEK (50438)<>30 THEN LOAD "BG SPRITES",8,1
  4. 1000 REM ******************************
  5. 1010 REM ******************************
  6. 1020 REM ***                        ***
  7. 1030 REM ***    BOERSENPROGRAMM     ***
  8. 1040 REM ***      1987 BY TH. LIPP  ***
  9. 1050 REM ***       UND A. BUB       ***
  10. 1055 REM ***                        ***
  11. 1060 REM ******************************
  12. 1070 REM ******************************
  13. 1080 :
  14. 1090 REM ******************************
  15. 1100 REM ***   VARIABLEN + ARRAYS   ***
  16. 1110 REM ******************************
  17. 1120 :
  18. 1130 CLR
  19. 1135 A$=" ":REM STRING FUER MASCHPRG.
  20. 1137 AS$=" ":REM STRING FUER MASCHPRG.
  21. 1140 BT=250:REM BOERSENTG, 250 IM JAHR
  22. 1150 AN$="            ":REM AKTIENNM <12Z
  23. 1160 NR=1:REM ZEIGER AUF FREIE VAR <250
  24. 1170 DIM TG%(BT):REM TAG <32 + >0
  25. 1180 DIM MO%(BT):REM MONAT <13 + >0
  26. 1190 DIM KU%(BT):REM KURS <9999 + >0
  27. 1200 :
  28. 1210 POKE 650,128
  29. 1215 POKE 808,225
  30. 1220 :
  31. 1230 POKE53280,0:POKE53281,0:PRINT"Ö":REM FARBEN
  32. 1240 :
  33. 1250 REM ARRAYS FUER JAHRESGRAFIK
  34. 1260 DIM EB%(17)
  35. 1270 DIM LB%(17)
  36. 1280 :
  37. 1290 REM VARIABLEN FUER GRAFIKTYP
  38. 1300 GT=0
  39. 1310 G$(0)="KURVE"
  40. 1320 G$(1)="BLOCK"
  41. 1325 :
  42. 1330 REM ARRAYS FUER MITTELWERTE
  43. 1340 DIM MW%(12)
  44. 1345 DIM J%(12)
  45. 1350 :
  46. 1360 REM KONSTANTEN FUER SYS EINSPRUENGE
  47. 1370 :
  48. 1375 BA=37288 : REM BASIS
  49. 1380 GE=BA    : REM GRAFIK EIN
  50. 1390 OF=BA+3  : REM GRAFIK AUS
  51. 1400 GC=BA+6  : REM GRAFIK CLR
  52. 1410 VC=BA+9  : REM VIDEORAM CLR
  53. 1420 SP=BA+12 : REM SET POINT
  54. 1430 YA=BA+15 : REM Y-ACHSE
  55. 1440 XA=BA+18 : REM X-ACHSE
  56. 1450 LI=BA+21 : REM LINE
  57. 1460 HC=BA+24 : REM HARDCOPY
  58. 1470 DR=BA+27 : REM DIREKTORY
  59. 1480 DS=BA+30 : REM DISK STATUS
  60. 1490 CP=BA+33 : REM CHARPRINT
  61. 1500 FB=BA+36 : REM FILL BOX
  62. 1510 JN=BA+39 : REM A$="J"/"N"
  63. 1520 HE=BA+42 : REM A$="H"/ELSE, H -> HARDCOPY
  64. 1530 GA=BA+45 : REM GET A$
  65. 1540 PO=00000 : REM*P***ERROR*** 198,0
  66. 1550 WA=00000 : REM*P***ERROR*** 198,0:WAIT 198,1
  67. 1560 TA=BA+48 : REM P***ERROR*** 198,0:WAIT 198,1:P***ERROR*** 198,0
  68. 1570 BD=BA+51 : REM A$="B"/"D"
  69. 1580 FA=BA+54 : REM FORMATIERTE AUSGABE
  70. 1590 FD=BA+57 : REM FORMATIERTE AUSGABE MIT DIFFERENZANGABE
  71. 1600 IP=BA+60 : REM INPUT
  72. 1610 LO=BA+63 : REM LOAD DATEIFILE.DAT
  73. 1620 DT=BA+66 : REM*DIREKTORY
  74. 1630 SI=BA+69 : REM SERIEN LOAD
  75. 1640 FG=39975 : REM FLAG FUER SI
  76. 1650 IR=BA+72 : REM SPRITES AM RAND INTERRUPT ON
  77. 1660 SS=BA+75 : REM SET SPRITE
  78. 1670 IO=BA+78 : REM SPRITES AM RAND INTERRUPT OFF
  79. 1680 AE=BA+81 : REM GRAFIK EIN, CLR, YA,XA
  80. 1690 AO=BA+84 : REM IRQ EIN, H-ELSE, IRQ AUS, SPRITES AUS, GRAFIK AUS
  81. 1700 TH=BA+87 : REM GET H/E; H->TEXTHARDCOPY
  82. 1710 FZ=BA+90 : REM FORM ZAHLENAUSGABE
  83. 1720 :
  84. 1800 REM VIDEORAM LOESCHEN
  85. 1810 SYS VC,208
  86. 1820 :
  87. 2000 REM ******************************
  88. 2010 REM ***          MENUE         ***
  89. 2020 REM ******************************
  90. 2030 :
  91. 2040 PRINT"ô  BOERSENPROGRAMM     1987 BY T.L. A.B."
  92. 2050 FOR I=1 TO 40:PRINT"╖";:NEXT
  93. 2060 PRINT"  AKTIE: ";AN$;"  EINTRAEGE:";NR-1
  94. 2070 PRINT"   -1- KURSE LADEN U8"
  95. 2080 PRINT"   -2- KURSE SPEICHERN U8"
  96. 2090 PRINT"   -3- KURSE EINGEBEN"
  97. 2100 PRINT"   -4- KURSE AUSGEBEN"
  98. 2110 PRINT"   -5- KURSE DISKUTIEREN"
  99. 2120 PRINT"   -6- KURSE EDITIEREN"
  100. 2130 PRINT"   -7- KURSE SORTIEREN"
  101. 2140 PRINT"   -8- AKTIENNAMEN AENDERN"
  102. 2150 PRINT"   -9- DISK MODE"
  103. 2160 PRINT"   -0- PROGRAMM BEENDEN"
  104. 2170 SYS GA
  105. 2180 A=ASC(A$)
  106. 2190 IF A<48 OR A>57 THEN2170
  107. 2200 A=A-48:IFA=0THENA=10
  108. 2210 ONAGOTO5000,10000,15000,20000,25000,35000,40000,30000,45000,50000
  109. 2220 :
  110. 5000 REM *****************************
  111. 5010 REM ***      KURSE LADEN      ***
  112. 5020 REM *****************************
  113. 5030 :
  114. 5040 PRINT"ô"
  115. 5050 SYS LO
  116. 5060 IF PEEK(184) <> 2 THEN SYS 65511 : GOTO 2000 : REM 65511 = $FFE7 = CLALL
  117. 5110 INPUT#2,AN$
  118. 5120 INPUT#2,NR
  119. 5130 FOR I=1 TO NR-1
  120. 5140 INPUT#2,TG%(I)
  121. 5150 INPUT#2,MO%(I)
  122. 5160 INPUT#2,KU%(I)
  123. 5170 NEXT
  124. 5180 CLOSE2
  125. 5185 PRINT"";
  126. 5190 SYS DS : REM STATUS
  127. 5220 PRINT"AKTIE: ";AN$;"  EINTRAEGE:";NR-1
  128. 5240 SYS TA
  129. 5270 GOTO2000
  130. 5280 :
  131. 10000 REM *****************************
  132. 10010 REM ***    KURSE SPEICHERN    ***
  133. 10020 REM *****************************
  134. 10030 :
  135. 10035 IF NR=1 THEN 2170
  136. 10040 PRINT"ô"
  137. 10050 PRINT" DATEN SPEICHERN"
  138. 10060 PRINT" AKTIE: ";AN$;"  EINTRAEGE:";NR-1
  139. 10070 PRINT" FILENAME IST AKTIENNAME + ";CHR$(34);".DAT";CHR$(34);" :"
  140. 10080 PRINT"";AN$;".DAT":PRINT
  141. 10090 FL$=AN$+".DAT"
  142. 10100 OPEN2,8,2,"@0:"+FL$+",S,W"
  143. 10110 PRINT#2,AN$
  144. 10120 PRINT#2,NR
  145. 10130 FOR I=1 TO NR-1
  146. 10140 PRINT#2,TG%(I)
  147. 10150 PRINT#2,MO%(I)
  148. 10160 PRINT#2,KU%(I)
  149. 10170 NEXT
  150. 10180 CLOSE2
  151. 10185 PRINT"";
  152. 10190 SYS DS : REM STATUS
  153. 10220 SYS TA
  154. 10260 GOTO2000
  155. 10270 :
  156. 15000 REM *****************************
  157. 15010 REM ***    KURSE  EINGEBEN    ***
  158. 15020 REM *****************************
  159. 15030 :
  160. 15035 GOTO 15220
  161. 15040 PRINT"ô"
  162. 15050 PRINT" AKTIENKURSE EINGEBEN"
  163. 15060 PRINT" AKTIE: ";AN$;"  EINTRAG:";NR
  164. 15070 SYS IP," TAG   = ",A
  165. 15080 IFA<1ORA>31THENPRINT"æææ":GOTO15070
  166. 15085 TG%(NR)=A
  167. 15090 SYS IP," MONAT = ",A
  168. 15100 IFA<1ORA>12THENPRINT"æææ":GOTO15090
  169. 15105 MO%(NR)=A
  170. 15110 SYS IP," KURS  = ",A
  171. 15120 IFA<0ORA>9999THENPRINT"æææ":GOTO15110
  172. 15125 KU%(NR)=A
  173. 15130 PRINT"RICHTIG ? (J/N)"
  174. 15140 SYS JN
  175. 15150 IF A$="N"THEN15040
  176. 15160 NR=NR+1
  177. 15170 PRINT"NOCHEINE EINGABE ? (J/N)"
  178. 15180 SYS JN
  179. 15190 IF A$="J"THEN15040
  180. 15200 GOTO2000
  181. 15210 :
  182. 15220 PRINT"ô"
  183. 15230 PRINT" AKTIENKURSE EINGEBEN"
  184. 15240 PRINT" E AKTIENKURSE EINGEBEN ZUR                AKTIE: ";AN$
  185. 15250 PRINT" A EINEN AKTIENKURS ZU ALLEN AKTIEN AUF    DISK EINGEBEN"
  186. 15260 PRINT" M ZURUECK INS MENUE"
  187. 15270 PRINT" HINWEISE ZU PUNKT A :"
  188. 15280 PRINT" BEI DIESEM PROGRAMM TEIL MUESSEN SIE"
  189. 15290 PRINT" EINMAL DAS DATUM EINGEBEN UND DANN BEI"
  190. 15300 PRINT" ALLEN AKTIEN, DIE AUF DERDISK SIND,"
  191. 15310 PRINT" DEN AKTUELLEN KURS EINGEBEN."
  192. 15320 PRINT" ACHTUNG, ES WERDEN ALLE DATEN IM "
  193. 15330 PRINT" SPEICHER GELOESCHT !!!"
  194. 15340 SYS GA
  195. 15350 IF A$ = "M" THEN 2000
  196. 15360 IF A$ = "E" THEN 15040
  197. 15370 IF A$ <> "A" THEN 15340
  198. 15375 :
  199. 15380 PRINT"ô SERIEN EINGABE:"
  200. 15390 SYS IP," TAG   = ",TG
  201. 15400 IFTG<1ORTG>31THENPRINT"æææ":GOTO15390
  202. 15410 SYS IP," MONAT = ",MO
  203. 15420 IFMO<1ORMO>12THENPRINT"æææ":GOTO15410
  204. 15470 :
  205. 15480 SYS SI : REM SERIEN LOAD
  206. 15490 IF PEEK(FG) = 1 THEN SYS 65511 : GOTO 2000
  207. 15500 REM  FILE IS NOW OPEN
  208. 15510 INPUT#2,AN$
  209. 15520 INPUT#2,NR
  210. 15530 PRINT" READING FILE: ";AN$
  211. 15540 FOR I=1 TO NR-1
  212. 15550 INPUT#2,TG%(I)
  213. 15560 INPUT#2,MO%(I)
  214. 15570 INPUT#2,KU%(I)
  215. 15580 NEXT I
  216. 15590 CLOSE2
  217. 15595 PRINT"";
  218. 15600 SYS DS : REM DISK STATUS
  219. 15610 :
  220. 15612 PRINT" GEBEN SIE 0 ODER <CR> EIN UM KEINEN"
  221. 15614 PRINT" EINTRAG ZU DIESER AKTIE ZU MACHEN."
  222. 15616 PRINT" GEBEN SIE 9999 UM DIE EINGABE ZU"
  223. 15618 PRINT" BEENDEN."
  224. 15620 PRINT" TAG   = ";TG
  225. 15624 PRINT" MONAT = ";MO
  226. 15628 PRINT" EINTRAG:";NR
  227. 15630 SYS IP," KURS  = ",KU
  228. 15633 PRINT" RICHTIG ? (J/N)"
  229. 15636 SYS JN
  230. 15638 IF A$="N" THEN PRINT"æææææ" : GOTO 15630
  231. 15640 IF KU = 0 THEN 15480
  232. 15650 IF KU = 9999 THEN SYS 65511 :POKE FG-1,0 : GOTO2000
  233. 15660 IF KU<1 OR KU>9999 THEN PRINT"æææ":GOTO15630
  234. 15670 TG%(NR)=TG
  235. 15680 MO%(NR)=MO
  236. 15690 KU%(NR)=KU
  237. 15700 NR=NR+1
  238. 15710 :
  239. 15720 PRINT" WRITING FILE: ";AN$
  240. 15730 OPEN2,8,2,"@0:"+AN$+".DAT,S,W"
  241. 15740 PRINT#2,AN$
  242. 15750 PRINT#2,NR
  243. 15760 FOR I=1 TO NR-1
  244. 15770 PRINT#2,TG%(I)
  245. 15780 PRINT#2,MO%(I)
  246. 15790 PRINT#2,KU%(I)
  247. 15800 NEXT I
  248. 15810 CLOSE2
  249. 15815 PRINT"";
  250. 15820 SYS DS : REM DISK STATUS
  251. 15830 SYS TA
  252. 15840 GOTO 15480
  253. 15850 :
  254. 20000 REM *****************************
  255. 20010 REM ***    KURSE  AUSGEBEN    ***
  256. 20020 REM *****************************
  257. 20030 :
  258. 20035 IF NR=1 THEN 2170
  259. 20040 PRINT"ô"
  260. 20050 PRINT" AKTIENKURSE AUSGEBEN"
  261. 20060 PRINT" AUSGABE AUF BILDSCHIRM ODER DRUCKER"
  262. 20070 PRINT" (B/D) ?"
  263. 20080 SYS BD
  264. 20090 IFA$="B"THEN OPEN1,3,0:GOTO20110
  265. 20100 OPEN1,4,0
  266. 20110 PRINT#1
  267. 20120 PRINT#1," AKTIE : ";AN$
  268. 20130 PRINT#1," úúúúúúúúúúúúúúúúúúúú"
  269. 20140 PRINT#1," EINTRAEGE:";NR-1
  270. 20150 PRINT#1
  271. 20160 FOR I=1TONR-1
  272. 20170 SYS FA,TG%(I),MO%(I),KU%(I)
  273. 20175 PRINT#1,AS$
  274. 20178 IF PEEK(214)=24 THENSYS GA:PRINT"ô";:IF A$="Q" THENI=NR-1:NEXT:GOTO 20200
  275. 20180 NEXT
  276. 20190 SYS TA
  277. 20200 CLOSE 1
  278. 20210 GOTO2000
  279. 20220 :
  280. 25000 REM *****************************
  281. 25010 REM ***   KURSE DISKUTIEREN   ***
  282. 25020 REM *****************************
  283. 25030 :
  284. 25040 PRINT"ô"
  285. 25050 PRINT" KURSE DISKUTIEREN"
  286. 25060 PRINT" -1- GRAFIK"
  287. 25070 PRINT" -2- AUSDRUCK MIT DIFFERENZANGABE"
  288. 25080 PRINT" -3- BILANZ"
  289. 25082 PRINT" -4- MONATS-BILANZ"
  290. 25085 PRINT" -5- BILANZ VON BEST. ZEITRAUM"
  291. 25090 PRINT" -6- HAUPTMENUE"
  292. 25100 PRINT" -7- DATEN SORTIEREN"
  293. 25105 PRINT" -8- BERECHNUNGEN"
  294. 25110 PRINT" UM RICHTIGE WERTE ODER KURVEN ZU ERHAL-"
  295. 25120 PRINT"æ TEN, MUESSEN DIE DATEN UNBEDINGT"
  296. 25130 PRINT" SORTIERT SEIN!æ"
  297. 25140 SYS GA
  298. 25150 A=ASC(A$)
  299. 25160 IF A<49 OR A>56 THEN25140
  300. 25170 A=A-48
  301. 25180 ONAGOTO27000,56000,60000,58000,59000,2000,40000,47000
  302. 25190 GOTO 25000
  303. 25200 :
  304. 27000 REM *****************************
  305. 27010 REM ***         GRAFIK        ***
  306. 27020 REM *****************************
  307. 27030 :
  308. 27035 IF NR=1 THEN 25140
  309. 27040 PRINT"ô"
  310. 27050 PRINT" GRAFIK"
  311. 27060 PRINT" -1- MONATS-GRAFIK"
  312. 27070 PRINT" -2- JAHRES-GRAFIK (ALLE KURSE)"
  313. 27075 PRINT" -3- JAHRES-GRAFIK (MO.-DURCHSCHNITT)"
  314. 27080 PRINT" -4- GRAFIK VON BEST. ZEITRAUM"
  315. 27090 PRINT" -5- GRAFIK DER LETZTEN 15/30 KURSE"
  316. 27095 PRINT" -6- CHARTS-GRAFIK"
  317. 27100 PRINT" -7- KURSE DISKUTIEREN (MENUE)"
  318. 27105 PRINT" -8- GRAFIKTYP : ";G$(GT)
  319. 27110 SYS GA
  320. 27120 A=ASC(A$)
  321. 27130 IF A<49 OR A>56 THEN27110
  322. 27150 A=A-48
  323. 27160 ON A GOTO 61000,62000,52000,63000,57000,53000,25000,27200
  324. 27170 GOTO 27000
  325. 27180 :
  326. 27190 REM GRAFIKTYP AENDERN
  327. 27200 IF GT=0 THEN GT=1 : PRINT"æææ" : GOTO27105
  328. 27210 GT=0 : PRINT"æææ" : GOTO27105
  329. 27220 :
  330. 30000 REM *****************************
  331. 30010 REM ***  AKTIENNAMEN AENDERN  ***
  332. 30020 REM *****************************
  333. 30025 :
  334. 30030 PRINT"ô"
  335. 30040 PRINT" AKTIENNAMENLAENGE BIS 10 ZEICHEN"
  336. 30050 PRINT" ALTER AKTIENNAME = ";AN$
  337. 30060 POKE19,1:INPUT" NEUEN AKTIENNAME = ";AN$:POKE19,0
  338. 30065 IF LEN(AN$)=12 THEN30090
  339. 30070 IF LEN(AN$)>12 THEN AN$=LEFT$(AN$,12):GOTO30090
  340. 30080 FORI=1TO12-LEN(AN$):AN$=AN$+" ":NEXT
  341. 30090 PRINT:PRINT"æ";AN$;"<          "
  342. 30100 PRINT" RICHTIG ? (J/N)"
  343. 30110 SYS JN
  344. 30120 IFA$="N"THEN 30000
  345. 30130 GOTO2000
  346. 30140 :
  347. 35000 REM *****************************
  348. 35010 REM ***    KURSE EDITIEREN    ***
  349. 35020 REM *****************************
  350. 35025 :
  351. 35027 IF NR=1 THEN 2170
  352. 35030 PRINT"ô"
  353. 35040 PRINT" DATEN EDITIEREN"
  354. 35050 PRINT" AKTIE: ";AN$;"    EINTRAEGE:";NR-1
  355. 35060 PRINT" E = EINFUEGEN"
  356. 35065 PRINT" A = AENDERN"
  357. 35070 PRINT" L = LOESCHEN"
  358. 35075 PRINT" C = CLEAR ALL"
  359. 35080 PRINT" + = NAECHSTER EINTRAG"
  360. 35090 PRINT" - = VORHERIGER EINTRAG"
  361. 35092 PRINT" S = SPRINGEN"
  362. 35095 PRINT" M = MENUE"
  363. 35100 PRINT""
  364. 35105 :
  365. 35110 Z=1
  366. 35115 IF Z<1 THEN Z=NR-1
  367. 35117 IF Z>NR-1 OR Z=0 THEN Z=1
  368. 35120 GOSUB 35400
  369. 35160 POKE 1984,32 : REM READY
  370. 35165 SYS GA
  371. 35170 IF A$="+" THEN Z=Z+1 : GOTO 35115
  372. 35180 IF A$="-" THEN Z=Z-1 : GOTO 35115
  373. 35185 IF A$="S" THEN SYS IP,"EINTRAG:",Z : GOTO 35115
  374. 35190 IF A$="M" THEN 2000
  375. 35195 IF A$="A" THEN POKE 1984,160 : GOSUB 35500
  376. 35200 IF A$="E" THEN POKE 1984,160 : GOSUB 35500
  377. 35205 IF A$="C" THEN NR=1 : GOTO 2000
  378. 35210 IF A$="L" THEN POKE 1984,160 : GOSUB35230
  379. 35215 IF NR=1 THEN 2000
  380. 35220 GOTO 35115
  381. 35225 :
  382. 35230 FOR I=Z TO NR-2
  383. 35240 TG%(I)=TG%(I+1)
  384. 35250 MO%(I)=MO%(I+1)
  385. 35260 KU%(I)=KU%(I+1)
  386. 35270 NEXT
  387. 35272 TG%(NR-1)=0
  388. 35274 MO%(NR-1)=0
  389. 35276 KU%(NR-1)=0
  390. 35280 NR=NR-1
  391. 35290 RETURN
  392. 35295 :
  393. 35300 PRINT"ææææ"
  394. 35310 SYS IP,"TAG:    ",A
  395. 35320 IF A<1 OR A>31 THEN PRINT"ææ":GOTO35310
  396. 35325 TG%=A
  397. 35330 SYS IP,"MONAT:  ",A : MO%=A
  398. 35340 IF A<1 OR A>12 THEN PRINT"ææ":GOTO35330
  399. 35345 MO%=A
  400. 35350 SYS IP,"KURS:   ",A
  401. 35360 IF A<0 OR A>9999 THEN PRINT"ææ":GOTO35350
  402. 35365 KU%=A
  403. 35370 RETURN
  404. 35380 :
  405. 35400 PRINT"¥¥¥¥¥¥";NR-1;"¥ "
  406. 35410 PRINT"EINTRAG:";Z;"¥          "
  407. 35420 PRINT"TAG:    ";TG%(Z);"¥ "
  408. 35430 PRINT"MONAT:  ";MO%(Z);"¥ "
  409. 35440 PRINT"KURS:   ";KU%(Z);"¥   "
  410. 35450 RETURN
  411. 35460 :
  412. 35500 GOSUB35400
  413. 35505 IFA$="A"THENGOSUB35230
  414. 35507 GOSUB35300
  415. 35510 Z=1
  416. 35520 IF(MO%>MO%(NR-1))OR(MO%=MO%(NR-1) AND TG%>TG%(NR-1))THEN Z=NR : GOTO 35660
  417. 35530 :
  418. 35540 IF MO%>MO%(Z) THEN Z=Z+1 : GOTO35540
  419. 35550 IF TG%>TG%(Z) AND MO%=MO%(Z) THEN Z=Z+1 : GOTO35550
  420. 35560 IF MO%=MO%(Z)ANDTG%=TG%(Z)THEN35690
  421. 35570 FORJ=NR TO Z STEP -1
  422. 35590 TG%(J+1)=TG%(J)
  423. 35610 MO%(J+1)=MO%(J)
  424. 35630 KU%(J+1)=KU%(J)
  425. 35650 NEXT
  426. 35655 :
  427. 35660 NR=NR+1
  428. 35670 TG%(Z)=TG%
  429. 35680 MO%(Z)=MO%
  430. 35690 KU%(Z)=KU%
  431. 35700 RETURN
  432. 35710 :
  433. 40000 REM *****************************
  434. 40010 REM ***    DATEN SORTIEREN    ***
  435. 40020 REM *****************************
  436. 40025 :
  437. 40027 IF NR=1 THEN 2000
  438. 40030 PRINT"ô"
  439. 40040 PRINT" DATEN SORTIEREN "
  440. 40050 PRINT" BITTE ETWAS GEDULD"
  441. 40060 :
  442. 40070 FOR I=1 TO NR-1
  443. 40080 Z=32768
  444. 40090 FOR J=I TO NR-1
  445. 40100 S=MO%(J)*100+TG%(J)
  446. 40110 IF S<Z THEN C=J : Z=S
  447. 40120 NEXT J
  448. 40130 :
  449. 40140 MO%(0)=MO%(I):TG%(0)=TG%(I):KU%(0)=KU%(I)
  450. 40150 MO%(I)=MO%(C):TG%(I)=TG%(C):KU%(I)=KU%(C)
  451. 40160 MO%(C)=MO%(0):TG%(C)=TG%(0):KU%(C)=KU%(0)
  452. 40170 :
  453. 40180 NEXT I
  454. 40190 GOTO 2000
  455. 40200 :
  456. 45000 REM *****************************
  457. 45010 REM ***       DISK MODE       ***
  458. 45020 REM *****************************
  459. 45025 :
  460. 45030 PRINT"ô"
  461. 45040 PRINT" DISK MODE"
  462. 45050 PRINT" @ = DISK STATUS"
  463. 45060 PRINT" C = CATALOG"
  464. 45065 PRINT" M = MENUE"
  465. 45070 PRINT" BEFEHL NORMAL EINGEBEN"
  466. 45080 PRINT""
  467. 45090 POKE19,1:INPUT">";D$:POKE19,0:PRINT
  468. 45095 IF D$="M" THEN 2000
  469. 45100 IF D$="C" THEN 45200
  470. 45110 IF D$="@" THEN 45150
  471. 45120 OPEN1,8,15
  472. 45130 PRINT#1,D$
  473. 45140 CLOSE1
  474. 45150 PRINT"";
  475. 45160 SYS DS : REM STATUS
  476. 45190 SYS TA : GOTO45000
  477. 45200 :
  478. 45210 REM DIREKTORY
  479. 45220 :
  480. 45225 SYS DR
  481. 45230 :
  482. 45600 SYS TA : GOTO 45000
  483. 45610 :
  484. 47000 REM *****************************
  485. 47010 REM ***      BERECHNUNGEN     ***
  486. 47020 REM *****************************
  487. 47025 :
  488. 47030 PRINT"ô"
  489. 47040 PRINT" BERECHNUNGEN"
  490. 47050 PRINT" -1- EFFEKTIVER KAUFKURS"
  491. 47060 PRINT" -2- EFFEKTIVER VERKAUFSKURS"
  492. 47070 PRINT" -3- EFFEKTIVER GEWINN"
  493. 47075 PRINT" -4- EFFEKTIVE DIVIDENDE"
  494. 47080 PRINT" -5- ZU ERWARTENDER VERKAUFSKURS"
  495. 47090 PRINT" -6- KURSE DISKUTIEREN"
  496. 47100 SYS GA
  497. 47110 A=ASC(A$):A=A-48
  498. 47120 IF A<1 OR A>6 THEN 47100
  499. 47130 ON A GOTO 47150,47370,47600,47850,48000,25000
  500. 47140 :
  501. 47150 PRINT"ôEFFEKTIVER KAUFPREIS"
  502. 47160 SYS IP,"KAUFPREIS DER AKTIE :",KP:IF KP=0 THEN PRINT"ææ":GOTO47160
  503. 47170 SYS IP,"ANZAHL DER AKTIEN   :",KN:IF KN=0 THEN PRINT"æææ":GOTO47170
  504. 47180 GOSUB 48920
  505. 47230 K=KG+BU+CO+PR+AG
  506. 47240 KA=INT(K/KN*100+.5)/100
  507. 47250 PRINT"ANZAHL :                   ";:SYS FZ,KN,6
  508. 47260 PRINT"KAUFPREIS :              DM";:SYS FZ,KP,6
  509. 47265 PRINT"KAUFPREIS GESAMT :       DM";:SYS FZ,KG,6
  510. 47270 PRINT"BOERSENUMSATZSTEUER :    DM";:SYS FZ,BU,6
  511. 47280 PRINT"COURTAGE :               DM";:SYS FZ,CO,6
  512. 47290 PRINT"PROVISION :              DM";:SYS FZ,PR,6
  513. 47300 PRINT"ABWICKLUNGSGEBUEHR :     DM";:SYS FZ,AG,6
  514. 47310 PRINT"úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú"
  515. 47320 PRINT"EFF. KAUFPREIS GESAMT :  DM";:SYS FZ,K,6
  516. 47330 PRINT"EFF. KAUFPREIS / AKTIE : DM";:SYS FZ,KA,6
  517. 47335 GOSUB 48860
  518. 47340 SYS TH
  519. 47350 GOTO 47000
  520. 47360 :
  521. 47370 PRINT"ôEFFEKTIVER VERKAUFPREIS"
  522. 47380 SYS IP,"VERKAUFPREIS DER AKTIE :",KP:IF KP=0 THEN PRINT"ææ":GOTO47380
  523. 47390 SYS IP,"ANZAHL DER AKTIEN      :",KN:IF KN=0 THEN PRINT"æææ":GOTO47390
  524. 47400 GOSUB48920
  525. 47450 K=KG-BU-CO-PR-AG
  526. 47460 KA=INT(K/KN*100+.5)/100
  527. 47470 PRINT"ANZAHL :                      ";:SYS FZ,KN,6
  528. 47480 PRINT"æVERKAUFPREIS :              DM";:SYS FZ,KP,6
  529. 47490 PRINT"æVERKAUFPREIS GESAMT :       DM";:SYS FZ,KG,6
  530. 47500 PRINT"æBOERSENUMSATZSTEUER :       DM";:SYS FZ,BU,6
  531. 47510 PRINT"æCOURTAGE :                  DM";:SYS FZ,CO,6
  532. 47520 PRINT"æPROVISION :                 DM";:SYS FZ,PR,6
  533. 47530 PRINT"æABWICKLUNGSGEBUEHR :        DM";:SYS FZ,AG,6
  534. 47540 PRINT"æúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú"
  535. 47550 PRINT"æEFF. VERKAUFPREIS GESAMT :  DM";:SYS FZ,K,6
  536. 47560 PRINT"æEFF. VERKAUFPREIS / AKTIE : DM";:SYS FZ,KA,6
  537. 47565 GOSUB 48860
  538. 47570 SYS TH
  539. 47580 GOTO 47000
  540. 47590 :
  541. 47600 PRINT"ôEFFEKTIVER GEWINN"
  542. 47610 SYS IP,"KAUFPREIS DER AKTIE    :",KE:IF KE=0 THEN PRINT"ææ":GOTO 47610
  543. 47615 SYS IP,"VERKAUFPREIS DER AKTIE :",KV:IF KV=0 THEN PRINT"æææ":GOTO 47615
  544. 47617 SYS IP,"ANZAHL DER AKTIEN      :",KN:IF KN=0 THEN PRINT"æææ":GOTO 47617
  545. 47620 KP=KE
  546. 47630 GOSUB48920
  547. 47640 K1=KG+BU+CO+PR+AG
  548. 47650 K2=INT(K1/KN*100+.5)/100
  549. 47660 KP=KV
  550. 47670 GOSUB 48920
  551. 47680 K3=KG-BU-CO-PR-AG
  552. 47690 K4=INT(K3/KN*100+.5)/100
  553. 47700 K5=INT((K3-K1)*100+.5)/100
  554. 47710 K6=INT((K4-K2)*100+.5)/100
  555. 47715 PZ=INT(K5/K1*1000)/10
  556. 47720 PRINT"ANZAHL :                     ";:SYS FZ,KN,6
  557. 47730 PRINT"KAUFPREIS :                DM";:SYS FZ,KE,6
  558. 47740 PRINT"VERKAUFPREIS :             DM";:SYS FZ,KV,6
  559. 47750 PRINT"EFF. KAUFPREIS :           DM";:SYS FZ,K2,6
  560. 47760 PRINT"EFF. VERKAUFPREIS :        DM";:SYS FZ,K4,6
  561. 47770 PRINT"EFF. KAUFPREIS GESAMT :    DM";:SYS FZ,K1,6
  562. 47775 PRINT"EFF. VERKAUFPREIS GESAMT : DM";:SYS FZ,K3,6
  563. 47780 PRINT"úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú"
  564. 47790 PRINT"æEFF. GEWINN GESAMT :       DM";:SYS FZ,K5,6
  565. 47800 PRINT"EFF. GEWINN / AKTIE :      DM";:SYS FZ,K6,6
  566. 47805 PRINT"PROZENTSATZ ZU EFF. KAUFP.  %";:SYS FZ,PZ,6
  567. 47810 GOSUB 48860
  568. 47820 SYS TH
  569. 47830 GOTO 47000
  570. 47840 :
  571. 47850 PRINT"ôEFFEKTIVE DIVIDENDE"
  572. 47860 SYS IP,"DIVIDENDE PRO AKTIE :",DV:IF DV=0 THEN PRINT"ææ":GOTO 47860
  573. 47870 SYS IP,"ANZAHL DER AKTIEN   :",KN:IF KN=0 THEN PRINT"æææ":GOTO47870
  574. 47880 KS=DV*0.25*KN
  575. 47890 DG=DV*KN-KS
  576. 47900 DI=INT(DG/KN*100+.5)/100
  577. 47910 PRINT"ANZAHL :                   ";:SYS FZ,KN,6
  578. 47920 PRINT"DIVIDENDE :              DM";:SYS FZ,DV,6
  579. 47930 PRINT"DIVIDENDE GESAMT :       DM";:SYS FZ,DV*KN,6
  580. 47940 PRINT"KAPITALERTRAGSSTEURER :  DM";:SYS FZ,KS,6
  581. 47950 PRINT"úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú"
  582. 47960 PRINT"EFF. DIVIDENDE GESAMT :  DM";:SYS FZ,DG,6
  583. 47970 PRINT"EFF. DIVIDENDE / AKTIE : DM";:SYS FZ,DI,6
  584. 47975 PRINT"KAPITALERTRAGSSTEUER:  25,00 %"
  585. 47980 SYS TH
  586. 47990 GOTO 47000
  587. 48000 :
  588. 48010 PRINT"ôZU ERWARTENDER VERKAUFSKURS"
  589. 48020 SYS IP,"KAUFPREIS DER AKTIE    :",KP:IF KP=0 THEN PRINT"ææ":GOTO 48020
  590. 48030 SYS IP,"ANZAHL DER AKTIEN      :",KN:IF KN=0 THEN PRINT"æææ":GOTO 48030
  591. 48040 SYS IP,"ZU ERW. GEWINN / AKTIE :",GE:IF GE=0 THEN PRINT"æææ":GOTO 48040
  592. 48050 GOSUB48920
  593. 48060 K=KG+BU+CO+PR+AG
  594. 48070 VE=K+GE*KN
  595. 48080 VW=INT((VE+AG)/0.9867*100+.5)/100
  596. 48090 VA=INT(VW/KN*100+.5)/100
  597. 48100 PRINT"ANZAHL :                   ";:SYS FZ,KN,6
  598. 48110 PRINT"KAUFPREIS :              DM";:SYS FZ,KP,6
  599. 48120 PRINT"KAUFPREIS GESAMT :       DM";:SYS FZ,KG,6
  600. 48125 PRINT"ZU ERW. GEWINN :         DM";:SYS FZ,GE*KN,6
  601. 48130 PRINT"EFF. KAUFPREIS :         DM";:SYS FZ,K,6
  602. 48140 PRINT"EFF. VERKAUFSPREIS :     DM";:SYS FZ,VE,6
  603. 48150 PRINT"úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú"
  604. 48160 PRINT"ZU ERW. VERKAUFSPREIS :  DM";:SYS FZ,VW,6
  605. 48170 PRINT"ZU ERW. VERKP. / AKTIE : DM";:SYS FZ,VA,6
  606. 48175 GOSUB 48870
  607. 48180 SYS TH
  608. 48190 GOTO47000
  609. 48860 :
  610. 48870 PRINT" BOERSENUMSATZSTEUER :   0,25 %"
  611. 48880 PRINT" COURTAGE :              0,08 %"
  612. 48890 PRINT" PROVISION :             1,00 %"
  613. 48900 PRINT" ABWICKLUNGSGEBUEHR : DM 3,00"
  614. 48910 RETURN
  615. 48920 :
  616. 48930 KG=KP*KN
  617. 48940 BU=INT(KG*0.25+.5)/100: REM BOERSENUMSATZSTEUER = 0.25%
  618. 48950 CO=INT(KG*0.08+.5)/100: REM COURTAGE
  619. 48960 PR=INT(KG+.5)/100     : REM PROVISION
  620. 48970 AG=3        : REM ABWICKLUNGSGEBUER
  621. 48980 RETURN
  622. 48990 :
  623. 50000 REM *****************************
  624. 50010 REM ***     PROGRAMM ENDE     ***
  625. 50020 REM *****************************
  626. 50025 :
  627. 50030 PRINT"ô"
  628. 50040 PRINT" PROGRAMM KANN MIT 'GOTO 2000' WIEDER"
  629. 50050 PRINT" GESTARTET WERDEN UND OHNE DATEN VERLUST"
  630. 50060 PRINT
  631. 50070 POKE 808,237
  632. 50080 END
  633. 50090 :
  634. 51000 REM *****************************
  635. 51010 REM ***    GRAFIK ZEICHNEN    ***
  636. 51020 REM *****************************
  637. 51030 :
  638. 51050 IF ED=0 THEN PRINT"KEINE DATEN VORHANDEN":SYS TA :RETURN
  639. 51060 IF LD-ED<2 THEN PRINT"ZUWENIG DATEN":SYS TA :RETURN
  640. 51065 :
  641. 51070 SW=8:DE=52
  642. 51080 IF LD-ED<16 THEN SW=16 :DE=60
  643. 51090 :
  644. 51100 SYS AE : REM GRAFIK EIN
  645. 51160 SYS CP,23,0,"KURS",0
  646. 51170 SYS CP,24,0,"TAG",0
  647. 51180 SYS CP,0,32,"AKTIE:",0
  648. 51190 SYS CP,0,39,AN$,1
  649. 51200 :
  650. 51205 Y=23
  651. 51210 SM=MO%(ED):SN=0:SYS SS,SN,56,SM
  652. 51220 FOR I=1 TO (LD-ED)+1
  653. 51230 X$=RIGHT$(STR$(TG%(I+ED-1)),2)
  654. 51240 X=5+I*SW/8
  655. 51250 SYS CP,Y,X,X$,1
  656. 51255 IF SM <> MO%(I+ED-1) THEN SM=MO%(I+ED-1) : SN=SN+1 : SYSSS,SN,X*8+24,SM
  657. 51260 NEXT I
  658. 51270 :
  659. 51280 IF NOT(H) THEN 51380 : REM IF H=0
  660. 51290 HW=0:NW=32767
  661. 51300 FOR I=ED TO LD
  662. 51310 IF KU%(I)=>HW THEN HW=KU%(I)
  663. 51320 IF KU%(I)=<NW THEN NW=KU%(I)
  664. 51330 NEXT I
  665. 51340 HW=INT((HW+10)/10)*10
  666. 51350 NW=INT(NW/10)*10
  667. 51360 DF=-(HW-NW)/10
  668. 51370 :
  669. 51380 X=0:Y=-1
  670. 51390 FOR I=HW TO NW STEP DF
  671. 51400 Y=Y+2
  672. 51420 X$= RIGHT$("    "+STR$(I),4)
  673. 51430 SYS CP,Y,X,X$,0
  674. 51440 NEXT I
  675. 51450 :
  676. 51460 KN=172:MK=160/(HW-NW)
  677. 51470 :
  678. 51480 IF GT THEN 51600 : REM IF GT=1
  679. 51490 :
  680. 51500 FOR I=ED TO LD-1
  681. 51510 X1=(I-ED)*SW+DE
  682. 51520 X2=X1+SW
  683. 51530 Y1=INT(KN-(KU%(I)-NW)*MK)
  684. 51540 Y2=INT(KN-(KU%(I+1)-NW)*MK)
  685. 51560 SYS LI,X1,Y1,X2,Y2
  686. 51570 SYS SP,X2,Y2
  687. 51580 NEXT I
  688. 51585 GOTO 51695
  689. 51590 :
  690. 51600 Y2=KN
  691. 51605 IF SW=8 THEN B1=2:B2=2 : GOTO 51620
  692. 51610 B1=6:B2=5
  693. 51620 FOR I=ED TO LD
  694. 51630 X=(I-ED)*SW+DE
  695. 51640 X1=X-B1
  696. 51650 X2=X+B1
  697. 51660 Y1=INT(KN-(KU%(I)-NW)*MK)
  698. 51670 SYS FB,X1,Y1,X2,Y2
  699. 51680 NEXT I
  700. 51690 :
  701. 51695 SYS AO : REM WAIT, GRAFIK AUS
  702. 51720 RETURN
  703. 51730 :
  704. 52000 REM *****************************
  705. 52010 REM ***   JAHRESGRAFIK  (D)   ***
  706. 52020 REM *****************************
  707. 52030 :
  708. 52035 FOR I = 1 TO 12 : MW%(I)=0 : J%(I)=0 : NEXT I
  709. 52040 FOR I = 1 TO NR-1
  710. 52050 M=MO%(I)
  711. 52055 MW%(M)=MW%(M)+KU%(I)
  712. 52060 J%(M)=J%(M)+1
  713. 52062 NEXT I
  714. 52065 FOR I = 1 TO 12
  715. 52067 IF J%(I) = 0 THEN 52080
  716. 52070 MW%(I)=INT(MW%(I)/J%(I)+.5)
  717. 52080 NEXTI
  718. 52090 :
  719. 52095 HW=0:NW=32767
  720. 52100 FOR I = 1 TO 12
  721. 52105 IF MW%(I)=0 THEN 52130
  722. 52110 IF MW%(I)>HW THEN HW=MW%(I)
  723. 52120 IF MW%(I)<NW THEN NW=MW%(I)
  724. 52130 NEXT I
  725. 52140 HW=INT((HW+10)/10)*10
  726. 52150 NW=INT(NW/10)*10
  727. 4283 :
  728. 52160 SW=16
  729. 52165 :
  730. 52170 SYS AE : REM GRAFIK EIN
  731. 52213 SYS CP,23,0,"KURS",0
  732. 52216 SYS CP,24,0,"MON.",0
  733. 52218 SYS CP,0,32,"AKTIE:",0
  734. 52220 SYS CP,0,39,AN$,1
  735. 52224 :
  736. 52225 Y=23
  737. 52230 FOR I = 1 TO 12
  738. 52240 X$=RIGHT$(STR$(I),2)
  739. 52260 X=5+I*SW/8
  740. 52270 SYS CP,Y,X,X$,1
  741. 52280 NEXT I
  742. 52290 :
  743. 52295 X=0:Y=-1
  744. 52300 DF=-(HW-NW)/10
  745. 52310 FOR I = HW TO NW STEP DF
  746. 52320 Y=Y+2
  747. 52330 X$=RIGHT$("    "+STR$(I),4)
  748. 52340 SYS CP,Y,X,X$,0
  749. 52350 NEXT I
  750. 52360 :
  751. 52370 KN=172:DE=44
  752. 52380 MK=160/(HW-NW)
  753. 52390 :
  754. 52400 IF GT THEN 52650 : REM IF GT=1
  755. 52410 :
  756. 52420 FOR I = 1 TO 11
  757. 52425 IF (MW%(I)=0) AND (I=11) THEN 52610
  758. 52430 IF MW%(I)=0 THEN 52520
  759. 52440 IF (MW%(I+1)=0) AND (MW%(I-1)=0) THEN 52550
  760. 52445 IF MW%(I+1)=0 THEN 52520
  761. 52450 X1=I*SW+DE
  762. 52460 X2=X1+SW
  763. 52470 Y1=INT(KN-(MW%(I)-NW)*MK)
  764. 52480 Y2=INT(KN-(MW%(I+1)-NW)*MK)
  765. 52500 SYS LI,X1,Y1,X2,Y2
  766. 52510 SYS SP,X2,Y2
  767. 52520 NEXT I
  768. 52530 GOTO 52780
  769. 52540 :
  770. 52550 X=INT(I*SW+DE)
  771. 52560 Y=INT(KN-(MW%(I)-NW)*MK)
  772. 52570 SYS SP,X,Y:SYS SP,X+1,Y
  773. 52580 GOTO 52520
  774. 52590 :
  775. 52610 IF MW%(12)=0 THEN 52520
  776. 52620 I=I+1
  777. 52630 GOTO52550
  778. 52640 :
  779. 52650 FOR I = 1 TO 12
  780. 52655 IF MW%(I)=0 THEN 52760
  781. 52660 X=I*SW+DE
  782. 52670 X1=X-6
  783. 52680 X2=X+5
  784. 52690 Y1=INT(KN-(MW%(I)-NW)*MK)
  785. 52700 Y2=KN
  786. 52730 SYS FB,X1,Y1,X2,Y2
  787. 52760 NEXT I
  788. 52770 :
  789. 52780 SYS AO : REM WAIT, GRAFIK AUS
  790. 52810 GOTO 27000
  791. 52820 :
  792. 53000 REM *****************************
  793. 53010 REM ***     CHARTS-GRAFIK     ***
  794. 53020 REM *****************************
  795. 53030 :
  796. 53035 IF NR<=11 THEN PRINT" KEINE CHARTS-GAFIK MOEGLICH":SYS TA:GOTO 27000
  797. 53040 EN=0:EB=1
  798. 53050 EB%(EN)=EB
  799. 53060 LB%(EN)=EB+127
  800. 53070 IF LB%(EN)=NR-1 THEN 53200
  801. 53075 IF LB%(EN)>NR-1 THEN LB%(EN)=NR-1 : GOTO 53130
  802. 53080 IF MO%(LB%(EN))<>MO%(LB%(EN)+1) THEN 53100
  803. 53090 IF MO%(LB%(EN)-1)=MO%(LB%(EN)) THEN LB%(EN)=LB%(EN)-1 : GOTO 53090
  804. 53095 LB%(EN)=LB%(EN)-1
  805. 53100 EB=LB%(EN)+1
  806. 53110 EN=EN+1
  807. 53120 GOTO 53050
  808. 53130 REM RANDUNTERSUCHUNG
  809. 53140 IF LB%(EN)-EB%(EN)>10 THEN 53200
  810. 53150 LB%(EN-1)=LB%(EN-1)-1
  811. 53160 IF MO%(LB%(EN-1)-1)=MO%(LB%(EN-1))THENLB%(EN-1)=LB%(EN-1)-1:GOTO 53160
  812. 53170 LB%(EN-1)=LB%(EN-1)-1
  813. 53180 EB%(EN)=LB%(EN-1)+1
  814. 53190 GOTO 53140
  815. 53195 :
  816. 53200 PRINT"ô CHARTS-GRAFIK"
  817. 53210 PRINT" WELCHE DER"EN+1"SEITEN WOLLEN SIE SEHEN"
  818. 53215 PRINT" 0 : GRAFIK-MENUE"
  819. 53220 FOR I=0 TO EN
  820. 53230 PRINT ""I+1": VON"TG%(EB%(I))"¥."MO%(EB%(I))"¥. BIS";
  821. 53235 PRINT TG%(LB%(I))"¥."MO%(LB%(I))"¥."
  822. 53240 NEXT
  823. 53250 SYS IP," SEITE : ",M
  824. 53255 IF M=0 THEN GOTO 27000
  825. 53260 M=INT(M)-1
  826. 53265 IF M<0 OR M>EN THEN PRINT"æææ": GOTO 53250
  827. 53270 ED=EB%(M):LD=LB%(M)
  828. 53280 :
  829. 53300 HW=KU%(1):NW=KU%(1)
  830. 53310 FOR I=1 TO NR-1
  831. 53320 IF KU%(I)=>HW THEN HW=KU%(I)
  832. 53330 IF KU%(I)=<NW THEN NW=KU%(I)
  833. 53340 NEXT I
  834. 53350 HW=INT((HW+10)/10)*10
  835. 53360 NW=INT(NW/10)*10
  836. 53370 DF=-(HW-NW)/10
  837. 53380 :
  838. 53400 SW=2:GT=0:DE=52
  839. 53410 :
  840. 53420 SYS AE : REM GRAFIK EIN
  841. 53430 SYS CP,23,0,"KURS",0
  842. 53440 SYS CP,24,0,"MON.",0
  843. 53450 SYS CP,0,32,"AKTIE:",0
  844. 53460 SYS CP,0,39,AN$,1
  845. 53470 :
  846. 53490 M=0:Y=23
  847. 53500 FOR I=1 TO (LD-ED)+1
  848. 53510 IF MO%(I+ED-1)=M THEN 53560
  849. 53520 M=MO%(I+ED-1)
  850. 53530 X$=RIGHT$(STR$(M),2)
  851. 53540 X=6+INT((I*SW+3)/8)
  852. 53550 SYS CP,Y,X,X$,1
  853. 53560 NEXT
  854. 53570 :
  855. 53580 GOSUB 51380
  856. 53590 PRINT"æææ":GOTO 53250
  857. 53600 :
  858. 56000 REM *****************************
  859. 56010 REM *** AUSDRUCK MIT DIFF.AN. ***
  860. 56020 REM *****************************
  861. 56030 :
  862. 56035 IF NR=1 THEN 25140
  863. 56040 PRINT"ô"
  864. 56050 PRINT" AKTIENKURSE MIT DIFFERENZANGABE         AUSGEBEN"
  865. 56060 PRINT" AUSGABE AUF BILDSCHIRM ODER DRUCKER"
  866. 56070 PRINT" (B/D) ?"
  867. 56080 SYS BD
  868. 56090 IFA$="B"THEN OPEN1,3,0:GOTO56110
  869. 56100 OPEN1,4,0
  870. 56110 PRINT#1
  871. 56120 PRINT#1," AKTIE : ";AN$
  872. 56130 PRINT#1," úúúúúúúúúúúúúúúúúúúúúúúúúúú"
  873. 56135 PRINT#1," EINTRAEGE:";NR-1
  874. 56137 PRINT#1
  875. 56150 SYS FA,TG%(1),MO%(1),KU%(1)
  876. 56160 PRINT#1,AS$
  877. 56180 FOR I=2 TO NR-1
  878. 56200 DI=KU%(I)-KU%(I-1)
  879. 56210 SYS FD,TG%(I),MO%(I),KU%(I),DI
  880. 56220 PRINT#1,AS$
  881. 56230 IF PEEK(214)=24 THENSYS GA:PRINT"ô";:IF A$="Q" THENI=NR-1:NEXT:GOTO 56290
  882. 56280 NEXTI
  883. 56285 SYS TA
  884. 56290 CLOSE1
  885. 56310 GOTO 25000
  886. 56320 :
  887. 57000 REM *****************************
  888. 57010 REM *** GRAFIK L. 15/30 KURSE ***
  889. 57020 REM *****************************
  890. 57030 :
  891. 57040 SYS IP,"15 ODER 30 KURSE",M
  892. 57050 IFM<>15ANDM<>30THENPRINT"æææ":GOTO57040
  893. 57055 LD=NR-1:H=-1
  894. 57060 IFNR<=16THEN ED=1:GOSUB 51000:GOTO 27000
  895. 57070 IFM=15THEN ED=NR-16:GOSUB 51000:GOTO27000
  896. 57080 IFNR<=31THEN ED=1:GOSUB 51000:GOTO27000
  897. 57090 IFM=30THEN ED=NR-31:GOSUB 51000:GOTO27000
  898. 57100 GOTO 57000
  899. 57120 :
  900. 58000 REM *****************************
  901. 58010 REM ***     MONATS-BILANZ     ***
  902. 58020 REM *****************************
  903. 58030 :
  904. 58035 IF NR=1 THEN 25140
  905. 58040 PRINT"ô MONATS-BILANZ "
  906. 58050 SYS IP,"MONAT (1-12) :",M:M=INT(M)
  907. 58060 :
  908. 58070 IF M>12 OR M<1 THEN PRINT"æææ":GOTO 58050
  909. 58080 :
  910. 58090 ED=0:LD=0
  911. 58100 FOR I=1 TO NR-1
  912. 58110 IF ED=0 AND MO%(I)=M THEN ED=I
  913. 58115 IF ED<>0 AND MO%(I)=M THEN LD=I
  914. 58120 NEXTI
  915. 58125 IF LD=0 THEN 25000
  916. 58130 :
  917. 58140 PRINT"ô MONAT-BILANZ"
  918. 58150 PRINT" MONAT: ";M
  919. 58160 GOTO 60060 : REM BILANZ
  920. 58170 :
  921. 59000 REM *****************************
  922. 59010 REM *** BILANZ BEST. ZEITRAUM ***
  923. 59020 REM *****************************
  924. 59030 :
  925. 59035 IF NR=1 THEN 25140
  926. 59040 PRINT"ô BILANZ VON BEST. ZEITRAUM"
  927. 59080 PRINT" GEBEN SIE ANFANGS- UND ENDZAHL EIN."
  928. 59090 SYS TA
  929. 59100 FORI=1TONR-1
  930. 59110 PRINTI":"TG%(I)"¥."MO%(I)"¥.",
  931. 59115 IF PEEK(214)=24 THENSYS TH:PRINT"ô";:IFA$="Q"THENI=NR-1:NEXT:GOTO25000
  932. 59120 NEXTI
  933. 59125 PRINT
  934. 59130 SYS IP,"ERSTE ZAHL:",ED:ED=INT(ED)
  935. 59140 SYS IP,"LETZTE ZAHL:",LD:ED=INT(ED)
  936. 59145 IF ED<1 OR LD>(NR-1) OR ED=> LD THEN PRINT"ææææ":GOTO 59130
  937. 59150 PRINT"ô"
  938. 59160 PRINT" BILANZ VON BEST. ZEITRAUM"
  939. 59170 GOTO 60060 : REM BILANZ
  940. 59180 :
  941. 60000 REM *****************************
  942. 60010 REM ***        BILANZ         ***
  943. 60020 REM *****************************
  944. 60030 :
  945. 60035 IF NR=1 THEN 25140
  946. 60037 ED=1:LD=NR-1
  947. 60040 PRINT"ô"
  948. 60050 PRINT" BILANZ"
  949. 60060 PRINT" AUSGABE AUF BILDSCHIRM ODER DRUCKER"
  950. 60070 PRINT" (B/D) ?"
  951. 60080 SYS BD
  952. 60090 IFA$="B"THEN OPEN1,3,0:GOTO60110
  953. 60100 OPEN1,4,0
  954. 60110 CMD1
  955. 60120 PRINT" AKTIE        :  ";AN$
  956. 60130 PRINT" EINTRAEGE    : ";ED;"-";LD
  957. 60140 PRINT
  958. 60145 :
  959. 60150 A1$=" ERSTER KURS  :   "
  960. 60160 A2$=" LETZTER KURS :   "
  961. 60180 A1$=A1$+RIGHT$(STR$(TG%(ED)),2)+". "+RIGHT$(STR$(MO%(ED)),2)+".  DM "
  962. 60190 A1=KU%(ED)
  963. 60210 A2$=A2$+RIGHT$(STR$(TG%(LD)),2)+". "+RIGHT$(STR$(MO%(LD)),2)+".  DM "
  964. 60220 A2=KU%(LD)
  965. 60230 PRINTA1$;:SYS FZ,A1
  966. 60240 PRINTA2$;:SYS FZ,A2
  967. 60250 PRINT
  968. 60252 :
  969. 60254 D=0
  970. 60256 HN=ED:HW=KU%(ED)
  971. 60258 NN=ED:NW=KU%(ED)
  972. 60260 FOR I=ED TO LD
  973. 60265 D=D+KU%(I)
  974. 60270 IF KU%(I)=>HW THEN HW=KU%(I):HN=I
  975. 60275 IF KU%(I)=<NW THEN NW=KU%(I):NN=I
  976. 60280 NEXTI
  977. 60285 :
  978. 60290 DU=D/(LD-ED+1):DU=INT(DU*100+.5)/100
  979. 60300 PRINT" DURCHSCHNITTSWERT :       DM ";:SYS FZ,DU
  980. 60310 PRINT
  981. 60312 :
  982. 60315 A1$=" TIEFSTWERT   :   "
  983. 60320 A2$=" HOECHSTWERT  :   "
  984. 60325 A1$=A1$+RIGHT$(STR$(TG%(NN)),2)+". "+RIGHT$(STR$(MO%(NN)),2)+".  DM "
  985. 60330 A1=KU%(NN)
  986. 60340 A2$=A2$+RIGHT$(STR$(TG%(HN)),2)+". "+RIGHT$(STR$(MO%(HN)),2)+".  DM "
  987. 60350 A2=KU%(HN)
  988. 60360 PRINTA1$;:SYS FZ,A1
  989. 60370 PRINTA2$;:SYS FZ,A2
  990. 60380 PRINT
  991. 60390 :
  992. 60440 D=KU%(LD)-KU%(ED)
  993. 60450 P=D/KU%(ED)*100
  994. 60460 P=INT(P*10+.5)/10
  995. 60470 PRINT" DIFFERENZ   (EW,LW) :     DM ";:SYS FZ,D
  996. 60480 PRINT" PROZENTSATZ (EW,LW) :      % ";:SYS FZ,P
  997. 60485 PRINT
  998. 60486 :
  999. 60488 IF (MO%(HN)*100+TG%(HN))<(MO%(NN)*100+TG%(NN)) THEN 60590
  1000. 60490 D=HW-NW
  1001. 60500 P=D/NW*100
  1002. 60510 P=INT(P*10+.5)/10
  1003. 60520 PRINT" DIFFERENZ   (TW,HW) :     DM ";:SYS FZ,D
  1004. 60530 PRINT" PROZENTSATZ (TW,HW) :      % ";:SYS FZ,P
  1005. 60540 PRINT#1
  1006. 60550 CLOSE1
  1007. 60560 SYS TH
  1008. 60570 GOTO25000
  1009. 60580 :
  1010. 60590 D=NW-HW
  1011. 60600 P=D/HW*100
  1012. 60610 P=INT(P*10+.5)/10
  1013. 60620 GOTO 60520
  1014. 60630 :
  1015. 61000 REM *****************************
  1016. 61010 REM ***     MONATS-GRAFIK     ***
  1017. 61020 REM *****************************
  1018. 61030 :
  1019. 61060 SYS IP,"MONAT (1-12) :",M:M=INT(M)
  1020. 61070 :
  1021. 61080 IF M>12 OR M<1 THEN PRINT"æææ":GOTO61060
  1022. 61090 ED=0:LD=0
  1023. 61100 FOR I=1 TO NR-1
  1024. 61110 IF ED=0 AND MO%(I)=M THEN ED=I
  1025. 61120 IF ED<>0 AND MO%(I)=M THEN LD=I
  1026. 61130 NEXT I
  1027. 61140 H=-1
  1028. 61150 GOSUB 51000
  1029. 61160 GOTO 27000
  1030. 61170 :
  1031. 62000 REM *****************************
  1032. 62010 REM ***     JAHRES-GRAFIK     ***
  1033. 62020 REM *****************************
  1034. 62025 :
  1035. 62030 HW=KU%(1):NW=KU%(1)
  1036. 62035 FOR I=1 TO NR-1
  1037. 62040 IF KU%(I)=>HW THEN HW=KU%(I)
  1038. 62045 IF KU%(I)=<NW THEN NW=KU%(I)
  1039. 62050 NEXT I
  1040. 62060 HW=INT((HW+10)/10)*10
  1041. 62065 NW=INT(NW/10)*10
  1042. 62070 DF=-(HW-NW)/10
  1043. 62075 :
  1044. 62080 SYS IP," 15 ODER 30 KURSE PRO BILDSCHIRM",DK
  1045. 62085 IF NOT((DK=15)OR(DK=30)) THEN PRINT"æææ":GOTO62080
  1046. 62090 EB=1:AB=1
  1047. 62100 LB=INT((NR-1)/DK+1-1E-9)
  1048. 62110 :
  1049. 62115 EN=0
  1050. 62120 FOR I=EBTOLB
  1051. 62130 EN=EN+1
  1052. 62140 EB%(EN)=(I-1)*DK
  1053. 62150 LB%(EN)=I*DK
  1054. 62160 NEXTI
  1055. 62170 EB%(1)=1:LB%(EN)=NR-1
  1056. 62180 IFLB%(EN)-EB%(EN)<2THEN LB%(EN-1)=EB%(EN)-1:EB%(EN)=EB%(EN)-1:GOTO62180
  1057. 62190 :
  1058. 62193 H=0
  1059. 62196 :
  1060. 62200 PRINT"ô"
  1061. 62210 PRINT" JAHRES-GRAFIK"
  1062. 62220 PRINT" GRAFIK-SEITEN BLAETTERN:"
  1063. 62230 PRINT" + NAECHSTER BILDSCHIRM"
  1064. 62240 PRINT" - VORDERER BILDSCHIRM"
  1065. 62250 PRINT" = BILDSCHIRM ZEIGEN"
  1066. 62255 PRINT" H HARDCOPY"
  1067. 62260 PRINT" M GRAFIK-MENUE"
  1068. 62280 :
  1069. 62290 IF AB=0 THEN AB=EN
  1070. 62300 IF AB=EN+1 THEN AB=1
  1071. 62310 :
  1072. 62320 ED=EB%(AB):LD=LB%(AB)
  1073. 62330 GOSUB 51000
  1074. 62345 :
  1075. 62350 PRINT""
  1076. 62360 PRINT"ERSTER BILDSCHIRM:    1"
  1077. 62370 PRINT"LETZTER BILDSCHIRM:  ";EN
  1078. 62380 PRINT"AKTUELLER BILDSCHIRM:";AB
  1079. 62390 SYS GA
  1080. 62400 IF A$="+" THEN AB=AB+1 : GOTO 62290
  1081. 62410 IF A$="-" THEN AB=AB-1 : GOTO 62290
  1082. 62415 IF A$="H" THEN GOTO 62490
  1083. 62420 IF A$="M" THEN 27000
  1084. 62430 IF A$<>"=" THEN 62390
  1085. 62440 SYS GE
  1086. 62450 POKE 53269,2^(SN+1)-1
  1087. 62460 GOSUB 51695
  1088. 62470 GOTO 62350
  1089. 62480 :
  1090. 62490 FOR I = 0 TO SN : POKE 53287+I,0 : NEXT I
  1091. 62500 POKE 53269,2^(SN+1)-1
  1092. 62510 SYS HC : REM HARDCOPY
  1093. 62520 POKE 53269,0
  1094. 62530 FOR I = 0 TO SN : POKE 53287+I,13 : NEXT I
  1095. 62540 GOTO 62390
  1096. 62550 :
  1097. 63000 REM *****************************
  1098. 63010 REM *** GRAFIK BEST. ZEITRAUM ***
  1099. 63020 REM *****************************
  1100. 63030 :
  1101. 63040 PRINT"ô WAEHLEN SIE BITTE SIE DAS ANFANGS- BZW."
  1102. 63050 PRINT"æ DAS ENDDATUM AUS. BEACHTEN SIE, DASS"
  1103. 63060 PRINT" AUFGRUND DER AUFLOESUNG NUR 30 KURSE"
  1104. 63070 PRINT" DARGESTELLT WERDEN KOENNEN."
  1105. 63080 PRINT" GEBEN SIE ANFANGS- UND ENDZAHL EIN."
  1106. 63090 SYS TA
  1107. 63100 FORI=1TONR-1
  1108. 63110 PRINTI":"TG%(I)"¥."MO%(I)"¥.",
  1109. 63115 IF PEEK(214)=24 THENSYS TH:PRINT"ô";:IF A$="Q" THENI=NR-1:NEXT:GOTO 63180
  1110. 63120 NEXTI
  1111. 63125 PRINT
  1112. 63130 SYS IP,"ERSTE ZAHL:",ED
  1113. 63140 SYS IP,"LETZTE ZAHL:",LD
  1114. 63145 IF ED<1 OR LD>(NR-1) OR ED=> LD THEN PRINT"ææææ":GOTO 63130
  1115. 63150 IFLD-ED>30THENPRINT"ææææ":GOTO63130
  1116. 63160 IFLD-ED<2THENPRINT"ææææ":GOTO63130
  1117. 63165 H=-1
  1118. 63170 GOSUB 51000
  1119. 63180 GOTO 27000
  1120. 63182 :
  1121. 63185 REM ********* DAS WAR'S *********
  1122. 63190 :
  1123.